#pragma once
#include "MeshDefs.h"
#include "SubMesh.h"
#include <vector>
using std::vector;

class Mesh
{
private:
	vector<VERTEX*> mVertices;
	vector<TEXCOORD*> mTexCoords;
	vector<NORMAL*> mNormals;
	vector<SubMesh*> mSubMeshes;
public:
	typedef vector<SubMesh*>::iterator SubMeshIterator;
	SubMeshIterator getSubMeshStartIter();
	SubMeshIterator getSubMeshEndIter();
	void addSubMesh(SubMesh* sm);
	VERTEX* getVertexAt(int pos);
	void addVertex(VERTEX* v);
	TEXCOORD* getTexCoordAt(int pos);
	void addTexCoord(TEXCOORD* t);
	NORMAL* getNormalAt(int pos);
	void addNormal(NORMAL* n);
	int	getVertexCount();
};
